package com.ydl.shopping.core.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ydl.shopping.annotation.DataMask;
import com.ydl.shopping.core.enums.DataMaskType;
import lombok.Data;

import java.util.Date;

@Data
public class UserDTO {
    /** 用户编号 */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 用户名 */
    private String username;

    /** 手机号 */
    @DataMask(type = DataMaskType.PHONE)
    private String tel;

    /** 头像地址 */
    private String icon;

    /** 头像昵称 */
    private String nickname;

    /** 性别 */
    private String gender;

    /** 年龄 */
    private Integer age;

    /** 邮箱 */
    @DataMask(type = DataMaskType.EMAIL)
    private String email;

    /** 用户名最后修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date usernameUpdateTime; // 用户名修改时间

    /** 用户类型 0：管理员，1：用户 */
    private Integer type;

    /** 登录地点 */
    private String loginLocation;

    /** IP地址 */
    private String ip;

    /** 操作系统 */
    private String os;

    /** 备注 */
    private String remark;

    /** 访问时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date loginTime;
}
